/*
 * Copyright ©2021 su binglun(9085309@qq.com). All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 *---------------------------------------------------------------------
 *-                                                                   -
 *-           Website : http://phoenix.sunny360.cn/                   -
 *-                                                                   -
 *---------------------------------------------------------------------
 */
package cn.sunny360.messsage;

import cn.sunny360.messsage.factory.MsgMessageFactory;

public interface MsgMessage<T> extends Information<T>{
    static MsgMessage newInstance() {
        return MsgMessageFactory.getInstance();
    }
    String getType();
    long getVersion();
    String getTime();
    String getFrom();
    String getTo();
    String getGroup();
    String getToken();
    int getContentType();
    byte[] getContent();
    int getAttachType();
    String getAttachment();
    String getEndTime();
    MsgMessage setType(String type);
    MsgMessage setVersion(long version);
    MsgMessage setTime(String time);
    MsgMessage setFrom(String from);
    MsgMessage setTo(String to);
    MsgMessage setGroup(String group);
    MsgMessage setToken(String token);
    MsgMessage setContentType(int contentType);
    MsgMessage setContent(byte[] content);
    MsgMessage setAttachType(int attachType);
    MsgMessage setAttachment(String attachment);
    MsgMessage setEndTime(String endTime);
}
